﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Iacym.Entities
{
    public class OFRENDA : BaseEntity
    {
        public int Id { get; set; }
        public int PersonaId { get; set; }
        public System.DateTime Fecha { get; set; }

        [Display(Name = "Monto")]
        [Required(ErrorMessage = "Se requiere un monto.")]
        [Range(1.00, 200000000.00, ErrorMessage = "El valor para monto debe ser mayor a 0.")]
        [RegularExpression(@"[\d]{1,4}([.,][\d]{1,2})?", ErrorMessage = "Formato de ingreso: 00.00 ó 00,00")]
        public decimal Monto { get; set; }
        
        [Display(Name = "TipoOfrendaId")]
        [Required(ErrorMessage = "Se requiere un tipo de moneda.")]
        public int TipoOfrendaId { get; set; }

        [Display(Name = "TipoMonedaId")]
        [Required(ErrorMessage = "Se requiere un tipo de ofrenda.")]
        public int TipoMonedaId { get; set; }

        [Display(Name = "TipoPagoId")]
        [Required(ErrorMessage = "Se requiere un tipo de pago.")]
        public int TipoPagoId { get; set; }

        [Display(Name = "TipoReunionId")]
        [Required(ErrorMessage = "Se requiere un tipo de reunión.")]
        public int TipoReunionId { get; set; }

        public Nullable<bool> Anulado { get; set; }
        public string Motivo { get; set; }
        public Nullable<System.DateTime> FechaDonacion { get; set; }
        public virtual PERSONA PERSONA { get; set; }        
        public virtual TIPO_MONEDA TIPO_MONEDA { get; set; }
        public virtual TIPO_OFRENDA TIPO_OFRENDA { get; set; }        
        public virtual TIPO_PAGO TIPO_PAGO { get; set; }
        public virtual TIPO_REUNION TIPO_REUNION { get; set; }

        //Datos a Mostrar
        //public string DniPersona
        //{
        //    get { return PERSONA.Dni; }
        //}
    }
}
